Apparatus and method for reading color chart and computer-readable storage medium

ABSTRACT

Provided is a method for automatically determining an error of a user operation or a colorimeter caused when the colorimeter is manually slid to measure the colors of color patches on a row-by-row basis. Also provided is a method capable of determining an error or a scanning direction using a feature value obtained from the colorimetric values without using fixed reference and threshold values for each patch.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/483,182 filed Jun. 11, 2009, which claims priority to Japanese Patent Application No. 2008-162302 filed Jun. 20, 2008, which is hereby incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technique for determining an error or automatically determining a scanning direction in the use of a colorimeter that is manually operated to measure a color chart including an array of color patches on a row-by-row basis.

2. Description of the Related Art

According to one of color chart measuring methods, a user manually positions a colorimeter and manually slides the colorimeter along each row of color patches to perform colorimetry on the color patches, i.e., measure the colors of the color patches on a row-by-row basis. The colorimeter samples colorimetric data at very short time intervals during sliding and analyzes the acquired colorimetric data to automatically recognize each boundary between adjacent patches such that the colorimetric values of the color patches in one row can be obtained by one sliding operation. Such a colorimeter is smaller and more inexpensive than a colorimeter that is automatically positioned. Accordingly, the method using the above-described colorimeter is easily introduced into small-scale firms and small office home offices.

In a colorimetric system using such a colorimeter, a user's operation error causes the system to not properly measure the colors of patches expected. Probable user's operation errors include an error caused by positioning of the colorimeter relative to an improper row of color patches, an error caused by partial measurement of a proper row (i.e., the colorimeter is positioned relative to a proper row but the proper row is partially subjected to colorimetry), and an error caused when sliding is performed in the backward direction. In addition, in some cases, a user's inaccurate sliding operation causes the colorimeter to be shifted from a proper row to the adjacent row during sliding. Furthermore, if the colorimeter misrecognizes the boundary between adjacent patches, accurate colorimetry is not performed. In this case, a patch is skipped or the colorimetric value of a nonexistent patch is added. Upon occurrence of both of the skip and the addition, although the total number of patches is correct, the acquired colorimetric data includes an error (hereinafter, referred to as “colorimetric data error”).

In the use of the manually-operated colorimeter, the following error determination technique has been generally used. Error determination is performed using two values, i.e., a reference value for each patch of a chart to be color-measured and a threshold value serving as a tolerance. A system has previously stored these values and compares a measured value of a patch with the reference value. When the measured value deviates from the reference value by more than the threshold value, the system determines that colorimetry has failed, namely, an error of colorimetry. For example, Japanese Patent Laid-Open No. 2005-061926 discloses such a colorimetric system.

The related-art method, however, has the following disadvantages.

The system has previously stored the reference values for the respective color patches. Accordingly, when the color of a patch deviates from the corresponding reference value by more than a predetermined threshold value, an error is determined even though the color of the patch is correctly measured. For example, to generate a color profile for a printer, a user allows the printer to print a color chart onto a sheet of paper on which the user intends to generate a profile. The user waits until the colors reach stability and then measures the colors in the color chart. Sheets onto which the user intends to generate a color profile vary. In some cases, therefore, a specific color among the colors of patches printed is emphasized depending on the characteristics of a sheet. In the use of a colored sheet, the color of the printed sheet appears in a pale color. In this case, if the threshold value is too strict, an error is determined even through colorimetry is correctly performed. Unfortunately, the user cannot continue colorimetry.

Assuming that the threshold value is loosened to avoid the above-described problem, when an error actually occurs, the error cannot be determined.

As described above, it is difficult to properly determine a reference value and a threshold value for each patch. It is necessary to determine a reference value and a threshold value for each patch and the order of arrangement of color patches by trial and error and assure the quality of the values and the arrangement order. Therefore, it takes long time and high cost. In some cases, error determination is not correctly performed because a reference value and a threshold value are improper.

SUMMARY OF THE INVENTION

The present invention provides a method for determining an error without using a reference value and a threshold value.

According to an aspect of the present invention, a color chart reading apparatus is provided for acquiring colorimetric values of color patches using a color chart in which a first feature value, relating to the color arrangement of color patches, in each row differs from that in the adjacent row and using a colorimeter which is manually slid by a user to perform colorimetry while scanning the color patches in the color chart on a row-by-row basis. The color chart reading apparatus includes: a colorimetric value storage unit configured to store a first feature value for each row number, the first feature value being obtained when colorimetry is performed while the user slides the colorimeter in a predetermined scanning direction relative to the color chart; a feature value calculation unit configured to calculate a feature of the color arrangement of the color patches in a measured row as a second feature value based on the colorimetric values of the color patches acquired by the colorimeter; and a determination unit configured to compare the first feature value stored by the colorimetric value storage unit with the second feature value calculated by the feature value calculation unit to determine an error when the first feature value does not match with the second feature value.

According to another aspect of the present invention, a color chart reading method is provided for acquiring the colorimetric values of color patches using a color chart in which a first feature value, relating to the color arrangement of color patches, in each row differs from that in the adjacent row and using a colorimeter which is manually slid by a user to perform colorimetry while scanning the color patches in the color chart on a row-by-row basis. The color chart reading method includes: a storing step of storing a first feature value for each row number, the first feature value being obtained when colorimetry is performed while the user slides the colorimeter in a predetermined scanning direction relative to the color chart; a calculating step of calculating a feature of the color arrangement of the color patches in a measured row as a second feature value based on the colorimetric values of the color patches acquired by the colorimeter; and a determining step of comparing the stored first feature value with the calculated second feature value to determine an error when the first feature value does not match with the second feature value.

According to another aspect of the present invention, there is provided a computer-readable storage medium that stores a computer-executable color chart reading program allowing a computer to perform color chart reading for acquisition of the colorimetric values of color patches using a color chart in which a first feature value, relating to the color arrangement of color patches, in each row differs from that in the adjacent row and using a colorimeter which is manually slid by a user to perform colorimetry while scanning the color patches in the color chart on a row-by-row basis. The color chart reading program includes: a storing step of storing a first feature value for each row number, the first feature value being obtained when colorimetry is performed while the user slides the colorimeter in a predetermined scanning direction relative to the color chart; a calculating step of calculating a feature of the color arrangement of the color patches in a measured row as a second feature value based on the colorimetric values of the color patches acquired by the colorimeter; and a determining step of comparing the stored first feature value with the calculated second feature value to determine an error when the first feature value does not match with the second feature value.

Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating the structure of a computer in accordance with an embodiment of the present invention.

FIG. 2 is a flowchart illustrating an exemplary process of generating a color profile.

FIG. 3 is a diagram illustrating an exemplary color chart.

FIG. 4 is a flowchart illustrating a colorimetry process.

FIG. 5 is a table illustrating the number of jump patches and an index for each row.

FIG. 6 is a diagram illustrating a test chart.

FIG. 7 is a table illustrating the number of jump patches and an index for each row.

FIG. 8 is a flowchart illustrating a colorimetry process.

DESCRIPTION OF THE EMBODIMENTS

Exemplary embodiments of the present invention will be described below with reference to the drawings. The following embodiments are not intended to restrict the present invention described in the appended claims. All of the combinations of features described in the embodiments are not necessary for solving problems in accordance with an embodiment of the present invention. Values held in a table in the embodiments can be obtained by calculation. An information storage unit in an embodiment of the present invention may be replaced with a method based on calculation.

The structure of a computer (color chart reading apparatus) in accordance with an embodiment of the present invention will be described with reference to a block diagram of FIG. 1. Referring to FIG. 1, the computer 11 includes a CPU or MPU (not shown), a ROM, a RAM, and an HDD. A display apparatus 12 displays information. A colorimeter 13 is manually positioned and slid along a row of color patches by a user to measure the colors of the color patches on a row-by-row basis. The colorimeter 13 analyzes colorimetric data acquired during sliding to automatically recognize each boundary between adjacent patches, so that the colors of the patches in one row can be measured by one operation.

A colorimeter driver 101 communicates with the colorimeter 13 to perform control for colorimetry or receive data (colorimetric values) from the colorimeter 13. The colorimeter driver 101 includes a colorimetric value acquisition unit 102 to acquire colorimetric values on a row-by-row basis from the colorimeter 13. A feature value calculation unit 103 acquires colorimetric values of one row to calculate a feature value. A row counter 104 stores a row number of target color patches which are being subjected to colorimetry. The row counter 104 outputs data indicating the row number of the target color patches to the feature value calculation unit 103 and a determination unit 105. The determination unit 105 compares a feature value of a measured row obtained by the feature value calculation unit 103 with a feature value of the row acquired from the row counter 104 to determine whether the feature values agree (match) with each other. The ROM or RAM (not illustrated) has previously stored a table (see FIG. 5) including the number of feature values and the position of a feature value related to each row number. The table is used to obtain a feature value related to a row number obtained from the row counter 104. The table will be described in detail later with reference to FIGS. 4 and 5. The feature value calculation unit 103 calculates a feature value using this table. The determination unit 105 compares feature values using the table. A display unit 106 notifies the user of the next operation based on of the result of determination by the determination unit 105. Specifically, the display unit 106 allows the display apparatus 12 to display a message, thus notifying the user of the next operation. A colorimetric value storage unit 107 stores a colorimetric value acquired by the colorimetric value acquisition unit 102 in relation to the position of the corresponding color patch. A profile generation unit 108 generates a color profile using the colorimetric values of respective color patches obtained from the colorimetric value storage unit 107.

FIG. 2 is a flowchart illustrating an exemplary process of generating a color profile in accordance with the present embodiment. The CPU (not shown) executes the process shown in the flowchart of FIG. 2 using the respective components 101 to 108 in FIG. 1. First, the row counter 104 is initialized so that a first row is set (S101). The display unit 106 causes the display apparatus 12 to display a message indicating the set value of the row counter 104, thus prompting the user to measure the first row (S102). When viewing the displayed message, the user sets the colorimeter 13 on a color chart and slides the colorimeter 13 on color patches to perform colorimetry, i.e., measure the colors of the patches in the row designated by the message (S103). Although processing in step S103 will be described in detail later with reference to FIG. 4, the processing will be described briefly below. The colorimetric value acquisition unit 102 acquires the colorimetric values of the patches in one row, measured by the colorimeter 13 operated by the user, from the colorimeter 13 and transfers the values to the feature value calculation unit 103. The feature value calculation unit 103 calculates a feature value and outputs the value to the determination unit 105. The row counter 104 also outputs a feature value related to the row and the row number to the determination unit 105. The determination unit 105 compares the feature value calculated by the feature value calculation unit 103 with the feature value output from the row counter 104 to determine whether colorimetry has succeeded (S104). When it is determined in step S104 that colorimetry in step S103 has failed, the process proceeds to step S105. Whereas, when it is determined in step S104 that colorimetry in step S103 has succeeded, the process proceeds to step S106. In step S105, processing for failed colorimetry is performed and the process is returned to step S102. Specifically, the display unit 106 causes the display apparatus 12 to display a message indicating that colorimetry has failed and that the same row is to be measured again. In step S106, processing for successful colorimetry is performed. Specifically, the display unit 106 causes the display apparatus 12 to display a message indicating that colorimetry has succeeded. The colorimetric value storage unit 107 stores each colorimetric value in relation to the position of the corresponding color patch. The row number in the row counter 104 is increased by one. When it is determined in step S107 that the row number has not exceeded the final row number, the process is returned to step S102 and a message is displayed to prompt the user to successively measure the color patches in the next row. When it is determined in step S107 that the row number exceeds the final row number, this means that colorimetry on all of the color patches is finished, and processing proceeds to step S108. In step S108, the profile generation unit 108 obtains the colorimetric values related to the positions of the respective color charts from the colorimetric value storage unit 107 and generates a color profile.

FIG. 3 is a diagram illustrating an exemplary color chart in the present embodiment. The color chart is printed by a printing system (e.g., a color ink jet printer, a color laser printer, a color multifunction device having a copy function and a printer function, another printer, or an image forming apparatus) in which the user intends to generate a color profile. In the printing system, R, G, and B values are represented using 256 values ranging from 0 to 255. The color chart includes color patches arranged in a matrix form, the number of patches arranged in each row being 17. The color chart includes all of 729 combinations of nine levels, i.e., 0, 32, 64, 96, 128, 160, 192, 224, and 255 representing R, G, and B values. The first patch from the left in the top row is black (RGB={0, 0, 0}). Patches having B values sequentially increased one-level by one-level are arranged on the right side of the first patch in this row. On the right side of a patch assigned with a B value of 255, a patch having a G value increased by one level and a B value of 0 (RGB={0, 32, 0}) is placed. Patches having the increased G value of 32 and B values sequentially increased one-level by one-level follow this patch. In this manner, the G and B values of patches are sequentially increased. Furthermore, on the right side of a patch assigned with a B value of 255 and a G value of 255, a patch having an R value increased by one level, a G value of 0, and a B value of 0 (RGB={32, 0, 0}) is placed. The R, G, and B values of patches are sequentially increased in the above-described manner. When the number of patches arranged horizontally reaches 17, the next patch is placed not on the right side of the preceding patch but the first position from the left in the next row below. When a sheet of paper is filled with patches, the next patch is placed on the first position from the left in the top row of another sheet.

This color chart includes the color patches arranged in accordance with the above-described rule. When attention is paid to the B values of adjacent patches, it is noted that the B values of patches change so as to jump from 255 to zero every nine patches. In this instance, let ΔB denote the difference in B value, serving as a component of a colorimetric value, between a patch and the adjacent patch that is to the right of the patch. In the following description, each patch having a large ΔB will be called a “jump patch”. To easily understand jump patches in FIG. 3, some jump patches are shown by hatching. A measured color patch number counted from the left in each row of color patches will be called an “index” hereinafter. In the color chart in FIG. 3, the index of the jump patch in the first row is 9 and the indices of the jump patches in the second row are 1 and 10. The positions of jump patches vary from row to row. In addition, the number of jump patches varies from row to row.

The patches are arranged such that the degree of blue gradually increases toward each jump patch. Accordingly, the values ΔB of patches except jump patches each have a positive value. When B(n) denotes a B value of a patch having an index indicated by n, ΔB(n) representing the value ΔB of the index n is expressed as the following equation. ΔB(n)=B(n+1)−B(n)  (1) Such a feature is a universal feature that does not depend on the type of sheet, on which the color chart is printed, or the color of sheet (base color). In the present embodiment, the colorimetric value acquisition unit 102 calculates such a feature as a feature value.

FIG. 4 is a flowchart illustrating an exemplary process corresponding to colorimetry in step S103 (FIG. 2) in the present embodiment. When the colorimetry process starts, the colorimetric value acquisition unit 102 acquires the colorimetric value of a patch from the colorimeter 13 (S201). The feature value calculation unit 103 counts the number of colorimetric values of patches acquired from the colorimetric value acquisition unit 102 and determines whether 17 patches have been measured for the result of colorimetry in one row (S202). When the number of patches is not right, information indicating that colorimetry has failed is set and the process then terminates (S210) and returns to FIG. 2 (step S104). When the number of patches is right, processing advances to step S203 and the row number L of a row which is being measured is obtained from the row counter 104 and the number C of jump patches related to the row is obtained from the table, shown in FIG. 5, and stored in the ROM or RAM (not illustrated). When a remainder obtained by dividing L by 9 is “0” or “1”, C=1. When the remainder is not “0” or “1”, C=2. Values ΔB of the indices 1 to 16 are obtained (S204). The absolute values |ΔB| of the 16 values ΔB are compared to obtain one or more top C values |ΔB| (S205). The index corresponding to each value ΔB indicates a jump patch. In step S206, the scanning direction is determined. When the value ΔB of each jump patch is negative, the scanning direction is forward. When the value ΔB of each jump patch is positive, the scanning direction is backward. When the values ΔB of the jump patches have different signs (values of ΔB include both negative values and positive values), an error is determined. When it is determined that the scanning direction of the color patches is backward, the order of the colorimetric values is reversed (S207). In this case, it is necessary to reverse the order of the jump patches, namely, interchange the jump patches. The correct index of each jump patch is obtained by subtracting the first obtained index from 17. When an error is determined in step S206, information indicating that colorimetry has failed is sent and the process then terminates (S210).

The determination unit 105 determines whether the position of each jump patch is correct (S208). Specifically, the index of each correct jump patch is obtained based on the row number obtained from the row counter 104 and it is determined whether the obtained index matches the index of the jump patch obtained by the feature value calculation unit 103. Since the index of each correct jump patch is predetermined, the index thereof can be obtained from the table, shown in FIG. 5, stored in the ROM or RAM (not shown). When the position of each jump patch is correct, information indicating that colorimetry has succeeded is sent and the process then terminates (S209). When the position thereof is incorrect, information indicating that colorimetry has failed is sent and the process then terminates (S210).

In the color chart of the present embodiment, nine feature-value (index) patterns sequentially appear repeatedly as shown in FIG. 5. Thus, a row which is being measured can be discriminated from upper eight rows and lower eight rows. The user may accidentally displace a set position for colorimetry upward or downward by one or two rows. According to error determination in accordance with the present embodiment, effective information indicating that colorimetry has been performed in a row different from a target row to be measured can be provided to the user.

In the color chart in the present embodiment, the RGB colors each have nine levels and 17 color patches are arranged in the scanning direction. The number N of levels and the number X of patches in each row are not limited to the above-described values. Any combination may be used so long as a feature value is different from those in the upper one or two rows and/or those in the lower one or two rows. As for the color patches used in the present embodiment, the following conditions have to be satisfied between the number N of levels and the number X of patches. (N+1)≦X(X is not a multiple of N)  (2) When the numbers N and X are prime numbers, a row to be measured can be discriminated from the most number of rows. Accordingly, color patches can be processed effectively.

According to the present embodiment, error determination is performed using a feature value related to a row of color patches. Thus, an error caused by positioning of the colorimeter 13 relative to an improper row of color patches, an error caused by partial measurement of a proper row (i.e., the colorimeter is positioned relative to a proper row but the proper row is partially subjected to colorimetry), and an error caused by shifting the colorimeter from a proper row to the adjacent row during sliding can be determined. Furthermore, a colorimetric data error can be determined for errors caused due to the colorimeter's misrecognition, e.g., skipping a patch, or adding the colorimetric value of a nonexistent patch. In addition, error determination can be performed using a feature value obtained based on colorimetric values acquired from the colors of patches in one row. The feature value can be easily obtained based on colorimetric values or a theoretical value. Since error determination is performed using the maximum difference in color between adjacent patches, the determination is not effected by the type of sheet or the color of the sheet. Consequently, the present invention reduces the number of processing steps and the cost, and can also increase the reliability.

Since the scanning direction can be determined using a feature value, processing can be performed independently of the direction in which the user slides the colorimeter 13.

The present embodiment has been described using the RGB color space. The same advantages can be obtained in the use of another color space.

Another embodiment is derived by partially modifying colorimetry in the above-described embodiment. Therefore, a computer in the present embodiment has the same structure as that illustrated in FIG. 1 and the overall process is the same as that illustrated in the flowchart of FIG. 2.

FIG. 6 is a diagram illustrating an exemplary color chart in the present embodiment. The color chart is printed by a printing system (e.g., a color ink jet printer, a color laser printer, a color multifunction device having a copy function and a printer function, another printer, or an image forming apparatus) in which the user intends to generate a color profile. In the printing system, R, G, and B values are represented using 256 values ranging from 0 to 255. The color chart includes color patches arranged in a matrix form, the number of patches arranged in each row being 15. The color chart includes all of 729 combinations of nine levels, i.e., 0, 32, 64, 96, 128, 160, 192, 224, and 255 representing R, G, and B values. The first patch from the left in the top row is black (RGB={0, 0, 0}). Patches having B values sequentially increased one-level by one-level are arranged on the right side of the first patch in this row. On the right side of a patch assigned with a B value of 255, a patch having a G value increased by one level and a B value of 0 (RGB={0, 32, 0}) is placed. Patches having the increased G value of 32 and B values sequentially increased one-level by one-level follow this patch. In this manner, the G and B values of patches are sequentially increased. Furthermore, on the right side of a patch assigned with a B value of 255 and a G value of 255, a patch having an R value increased by one level, a G value of 0, and a B value of 0 (RGB={32, 0, 0}) is placed. The R, G, and B values of patches are sequentially increased in the above-described manner. When the number of patches arranged horizontally reaches 15, the next patch is placed not on the right side of the preceding patch but the first position from the left in the next row below. When a sheet of paper is filled with patches, the next patch is placed on the first position from the left in the top row of another sheet.

FIG. 7 is a table including feature values in the color chart of FIG. 6. The table includes the number of jump patches in each row number and the index of each jump patch in the scanning direction in each row. When patches are scanned backward, an index number indicates a counted value obtained when an index number of 1 is assigned to the first patch from the right in each row, namely, the colorimetric value of the first-scanned patch. The table of FIG. 7 is stored in the ROM or RAM (not shown).

FIG. 8 is a flowchart showing an exemplary process corresponding to colorimetry in step S103 in the present embodiment. When the colorimetry process starts, the colorimetric value acquisition unit 102 acquires the colorimetric values of patches from the colorimeter 13 (S301). The feature value calculation unit 103 counts the number of colorimetric values acquired from the colorimeter 13 and determines whether 15 patches have been measured for the result of colorimetry in one row (S302). When the number of patches is not right, information indicating that colorimetry has failed is sent and the process then terminates (S310). When the number of patches is right, the values ΔB of patches having the indices 1 to 14 are obtained and a value Bth that is half of the difference between a maximum value Bmax and a minimum value Bmin in the colorimetric values is then obtained (S303). At least one patch satisfying a condition of |ΔB|>|Bth| is obtained and is determined as a jump patch (S304). The determination unit 105 obtains the number L of a row which is being measured from the row counter 104, obtains the number C of jump patches related to the row from the table, shown in FIG. 7, stored in the ROM or RAM (not illustrated), and compares the number C with the number of jump patches obtained in step S304 to determine whether the number of jump patches is right (S305). When the number of jump patches is not right, information indicating that colorimetry has failed is sent and the process then terminates (S310). When the number of jump patches is right, it is determined whether the index of at least one jump patch obtained by the feature value calculation unit 103 agrees (matches) with that related to the row number L (S306). In the present embodiment, the index of a correct jump patch is associated with each scanning direction in the table. When a proper row is scanned, the index of a jump patch matches with either one of at least two indices in the respective scanning directions. When the index of at least one jump patch does not match with each of the indices, information indicating that colorimetry has failed is sent and the process then terminates (S310). When the index of the jump patch matches with either of the indices, the scanning direction is determined based on the matched index (S307). When the scanning direction is backward, the order of colorimetric values is reversed (S308). Information indicating that colorimetry has succeeded is sent and the process then terminates (S309).

The value Bth used in the present embodiment is expressed by the following equation. A coefficient is not limited to 0.5. The coefficient can be set to a value larger or smaller than 0.5. Bth=0.5×(Bmax−Bmin)  (3)

In the color chart in the present embodiment, three feature-value (index) patterns sequentially appear repeatedly as shown in FIG. 7. Thus, a row which is being measured can be discriminated from upper two rows and lower two rows. The user may accidentally displace a set position for colorimetry upward or downward by one or two rows. According to error determination in accordance with the present embodiment, effective information indicating that colorimetry has been performed in a row different from a target row to be measured can be provided to the user.

In the color chart in the present embodiment, the RGB colors each have nine levels and 15 color patches are arranged in the scanning direction. The number N of levels and the number X of patches are not limited to the above-described values. Any combination may be used so long as feature values are different from those in the upper one or two rows and/or those in the lower one or two rows. As for the color patches used in the present embodiment, the following conditions have to be satisfied between the number N of levels and the number X of patches. (N+1)≦X(X is not a multiple of N)  (4) In addition, when the numbers N and X have a common divisor other than “1”, the index of at least one jump patch in the forward scanning direction does not match with that in the backward scanning direction. Accordingly, effective error determination including no error can be provided to the user.

According to the present embodiment, error determination is performed using a feature value related to a row of color patches. Thus, an error caused by positioning of the colorimeter 13 relative to an improper row of color patches, an error caused by partial measurement of a proper row (i.e., the colorimeter is positioned relative to a proper row but the proper row is partially subjected to colorimetry), and an error caused by shifting the colorimeter from a proper row to the adjacent row during sliding can be determined. Furthermore, errors caused due to the colorimeter's misrecognition, e.g., skipping a patch, adding the colorimetric value of a nonexistent patch, and a colorimetric data error can be determined. In addition, error determination can be performed using a feature value obtained based on colorimetric values acquired from the colors of patches in one row. The feature value can be easily obtained based on colorimetric values or a theoretical value. Since error determination is performed using the maximum difference in color between adjacent patches and the value Bth, serving as a threshold value, is enough large, the determination is not effected by the type of sheet or the color of the sheet. Consequently, while the number of processing steps and the cost can be reduced lower than those in related art, the reliability can be increased.

Since the scanning direction can be determined using a feature value, processing can be performed independently of the direction in which the user slides the colorimeter 13.

The present embodiment has been described using the RGB color space. The same advantages can be obtained in the use of another color space.

A computer-readable storage medium may store program code (software) for implementing the functions of the above-described embodiments. The program code stored on the computer-readable medium can be supplied to a system or apparatus and allowing a computer (or CPU or MPU) of the system or apparatus to read out and execute the program code stored in the computer-readable storage medium.

Examples of the computer-readable storage medium for supplying the program code include, but are not limited to, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, and a DVD.

The functions of the above-described embodiments may be implemented by executing the read-out program code by the computer. In addition, the functions of the above-described embodiments may be implemented by allowing an operating system (OS) running on the computer to perform part or the whole of actual processing based on instructions of the program code.

Furthermore, the functions of the above-described embodiments may be implemented by writing the program code read out from the storage medium in a memory provided for a function expansion board incorporated in the computer, or a function expansion unit connected to the computer, allowing a CPU in the function expansion board or the function expansion unit to perform part or the whole of actual processing based on instructions of the program code.

According to the embodiments of the present invention, since the color chart generated so that feature values in respective rows differ from one another is used, error determination can be performed using a feature value obtained from the colors of patches arranged in each row without using a reference value and a threshold value for each individual patch. Although the related-art technique has required a large number of processing steps and a high cost of development, aspects of the present invention can provide an apparatus, method, and program for performing error determination with lower expenditure of cost and the lower number of processing steps than the related-art technique using reference values and threshold values for respective patches.

In addition, aspects of the present invention can provide an apparatus, method, and computer-readable medium storing a program for performing error determination using a color chart, which is generated so that a feature value in each row varies according to the scanning direction, even when colorimetry is performed in a backward scanning manner.

While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications and equivalent structures and functions. 

What is claimed is:
 1. An apparatus for acquiring colorimetric values of color patches in a color chart, which comprises color patches of a multi-row, by using a colorimeter which is manually slid by a user to perform colorimetry while scanning the plural color patches in the color chart on a row-by-row basis, the apparatus comprising: an obtaining unit configured to obtain a first feature value of color patches for each row in the color chart, comprising the color patches of the multi-row having a color-difference for each row, relating to color arrangement of color patches in a predetermined scanning direction by the colorimeter, a specifying unit configured to specify a feature value of a color patch for each row relating to the color arrangement in each measured row as a second feature value on a basis of the colorimetric values of the color patches acquired by the colorimeter which is manually slid by a user to perform colorimetry, and a determining unit configured to determine whether a scanning direction, in which the colorimetry has been performed by using a colorimeter which is manually slid by a user, is the predetermined scanning direction based on the second feature value for each row specified by the specifying unit and the first feature value obtained by the obtaining unit corresponding to the each row.
 2. The apparatus according to claim 1, further comprising: a reverse unit configured to reverse the order of the colorimetric values of the color patches in each row if the determining unit determines that the scanning direction is not the predetermined scanning direction.
 3. The apparatus according to claim 1, wherein the first feature value includes at least one of information items indicating a position and a number of change patch having a larger color-difference between the patch and the adjacent patch than the color-difference between other adjacent patches for each row.
 4. The apparatus according to claim 1, wherein the determining unit determines whether the scanning direction is the predetermined scanning direction based on whether the color-difference increases or decreases in a direction.
 5. The apparatus according to claim 1, wherein the obtaining unit further obtains a third feature value of color patches for each row relating to color arrangement in a direction opposite to the predetermined scanning direction by the colorimeter, and the determining unit further determines whether the scanning direction is the opposite direction of the predetermined scanning direction based on the second feature value and the third feature value.
 6. The apparatus according to claim 5, further comprising: a reverse unit configured to reverse the order of the colorimetric values of the color patches in each row; and wherein if the first value includes information item indicating the position of change patch and the determining unit determines the scanning direction is opposite direction of the predetermined scanning direction, the reverse unit reverses the order of the colorimetric value and information items indicating the position of the change patch.
 7. The apparatus according to claim 5, wherein the first feature value and the third feature value for each row includes information item indicating the position of the change patch, and the information item indicating the position of the change patch corresponding to the first and third feature values for each row differ from each other.
 8. The apparatus according to claim 5, further comprising: an informing unit configured to inform error information indicating an error of colorimetry to the user, and wherein if the determining unit determines the second feature value disagree with each of the first and third feature values, the informing unit informs error information.
 9. The apparatus according to claim 8, wherein the informing unit includes a display unit, and the display unit displays error information.
 10. The apparatus according to claim 1, further comprising: a notifying unit configured to notify a row of color patch which is to be acquired by the colorimeter which is manually slid by a user to perform colorimetry.
 11. A method for acquiring the colorimetric values of color patches in a color chart, which comprises color patches of a multi-row, by using a colorimeter which is manually slid by a user to perform colorimetry while scanning the plural color patches in the color chart on a row-by-row basis, the method comprising: an obtaining step of obtaining a first feature value of color patches for each row in the color chart, comprising the color patches of the multi-row having a color-difference for each row, relating to color arrangement of color patches in a predetermined scanning direction by the colorimeter, a specifying step of specifying a feature value of color patch for each row relating to the color arrangement in each measured row as a second feature value on a basis of the colorimetric values of the color patches acquired by the colorimeter which is manually slid by a user to perform colorimetry, and a determining step of determining whether a scanning direction, in which the colorimetry has been performed by using a colorimeter which is manually slid by a user, is the predetermined direction based on whether the second feature value for each row specified in the specifying step and the first feature value obtained in the obtaining step corresponding to the each row.
 12. The method according to claim 11, further comprising: a reversing step of reversing the order of the colorimetric values of the color patches in each row if it is determined in the determination step that the scanning direction is not the predetermined scanning direction.
 13. The method according to claim 11, wherein the first feature value includes at least one of information items indicating a position and a number of change patch having a larger color-difference between the patch and the adjacent patch than the color-difference between other adjacent patches for each row.
 14. The method according to claim 11, wherein in the second determining step, whether the scanning direction is the predetermined scanning direction is determined based on whether the color-difference increases or decreases in a direction.
 15. The method according to claim 11, wherein in the obtaining step, a third feature value of color patches for each row relating to color arrangement in a direction opposite to the predetermined scanning direction by the colorimeter is further obtained, and the determining step further determines whether the scanning direction is the opposite direction of the predetermined scanning direction based on the second feature value and the third feature value.
 16. The method according to claim 15, further comprising: a reversing step of reversing the order of the colorimetric values of the color patches in each row, and wherein if the first value includes information item indicating the position of the change patch and it is determined in the determining step that the scanning direction is an opposite direction of the predetermined scanning direction, in the reversing step, the order of the colorimetric value and information items indicating the position of the change patch is reversed.
 17. The method according to claim 15, wherein the first feature value and the third feature value for each row includes information item indicating the position of change patch, and the information item indicating the position of the change patch corresponding to the first and third feature values for each row differ from each other.
 18. A non-transitory computer-readable recording medium storing a program for causing a computer to execute a method for acquiring the colorimetric values of color patches in a color chart, which comprises color patches of a multi-row, by using a colorimeter which is manually slid by a user to perform colorimetry while scanning the plural color patches in the color chart on a row-by-row basis, the method comprising: an obtaining step of obtaining a first feature value of color patches for each row in the color chart, comprising the color patches of the multi-row having a color-difference for each row, relating to color arrangement of color patches in a predetermined scanning direction by the colorimeter, a specifying step of specifying a feature value of color patch for each row relating to the color arrangement in each measured row as a second feature value on a basis of the colorimetric values of the color patches acquired by the colorimeter which is manually slid by a user to perform colorimetry, and a determining step of determining whether a scanning direction, in which the colorimetry has been performed by using a colorimeter which is manually slid by a user, is the predetermined direction based on whether the second feature value for each row specified in the specifying step and the first feature value obtained in the obtaining step corresponding to the each row. 